package com.fowo.api.model.amazon.removal.order;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 亚马逊移除订单表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class AmazonRemovalOrderImportPo {

  /** 订单日期 */
  @ExcelProperty("订单日期")
  @DateTimeString(message = "订单日期不是有效的时间日期格式")
  private String requestDate;

  /** 订单号 */
  @ExcelProperty("订单号")
  @Size(max = 50, message = "订单号长度不能超过50")
  private String orderId;

  /** 订单类型 */
  @ExcelProperty("订单类型")
  private String orderType;

  /** 订单状态 */
  @ExcelProperty("订单状态")
  private String orderStatus;

  /** 订单更新时间 */
  @ExcelProperty("订单更新时间")
  @DateTimeString(message = "订单更新时间不是有效的时间日期格式")
  private String lastUpdatedDate;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String sku;

  /** FNSKU */
  @ExcelProperty("FNSKU")
  @Size(max = 50, message = "FNSKU长度不能超过50")
  private String fnsku;

  /** 库存属性 */
  @ExcelProperty("库存属性")
  private String disposition;

  /** 请求数量 */
  @ExcelProperty("请求数量")
  @IntegerString(message = "请求数量数值格式不正确", label = "请求数量")
  private String requestedQuantity;

  /** 取消数量 */
  @ExcelProperty("取消数量")
  @IntegerString(message = "取消数量数值格式不正确", label = "取消数量")
  private String cancelledQuantity;

  /** 已处置数量 */
  @ExcelProperty("已处置数量")
  @IntegerString(message = "已处置数量数值格式不正确", label = "已处置数量")
  private String disposedQuantity;

  /** 已发货数量 */
  @ExcelProperty("已发货数量")
  @IntegerString(message = "已发货数量数值格式不正确", label = "已发货数量")
  private String shippedQuantity;

  /** 处置中数量 */
  @ExcelProperty("处置中数量")
  @IntegerString(message = "处置中数量数值格式不正确", label = "处置中数量")
  private String inProcessQuantity;

  /** 移除费用 */
  @ExcelProperty("移除费用")
  @DecimalString(message = "移除费用小数格式不正确", label = "移除费用")
  private String removalFee;

  /** 币种 */
  @ExcelProperty("币种")
  @Size(max = 50, message = "币种长度不能超过50")
  private String currency;

  /** 店铺 */
  @ExcelProperty("店铺")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String sidShopName;

  @ExcelIgnore
  @Schema(title = "店铺")
  private String sid;

  /** 地区 */
  @ExcelProperty("地区")
  @Size(max = 50, message = "地区长度不能超过50")
  private String region;

  /** 订单店铺 */
  @ExcelProperty("订单店铺")
  @LongString(message = "订单店铺数值格式不正确", label = "订单店铺")
  private String orderSid;

  /** 国家 */
  @ExcelProperty("国家")
  @Size(max = 50, message = "国家长度不能超过50")
  private String countryName;

  @ExcelIgnore
  @Schema(title = "国家")
  private String country;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 50, message = "品名长度不能超过50")
  private String name;

  /** sku */
  @ExcelProperty("sku")
  @Size(max = 50, message = "sku长度不能超过50")
  private String productSku;

  /** 配送地址 */
  @ExcelProperty("配送地址")
  @Size(max = 50, message = "配送地址长度不能超过50")
  private String shippingAddress;
}
